<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 箭头函数基本语法
        // const fun = x => x * x;
        // let result = fun(2);
        // console.log(result);


        // //函数声明
        // function add(a, b) {
        //     return a + b
        // }
        // //函数表达式
        // const add = function (a, b) {
        //     return a + b
        // }
        // //箭头函数
        // const add = (a, b) => {
        //     return a + b;
        // }

        const cat = {
            name: "miaomiao",
        //    sayName(){
        //        setInterval(function(){
        //            console.log(this.name), //Windows里没有name的值，所以输出为空
        //            console.log(this)    //这里的this是基于setInterval函数的，也就是this=setInterval
        //        }, 1000)
        //    }

        //箭头函数里this的用法
            sayName() {
                setInterval(() => {
                    console.log(this.name)  
                }, 1000)
            }
        }
        cat.sayName();

        //箭头函数和普通函数的this指向不同
        //普通函数指向的是调用该函数的对象。
        // 箭头函数：在哪里定义，this就指向谁。
    </script>
</body>

</html>